A “recalculation document” is an electronic document that shows various data sources and data sinks, and allows for a declarative transformation between a data source and a data sink. For any given set of transformations interconnecting various data sources and data sinks, the output of the data source may be consumed by the data sink, or the output of the data source may be subject to transformations prior to being consumed by the data sink. These various transformations are evaluated resulting in one or more outputs represented throughout the recalculation document.
The user can add and edit the declarative transformations without having in-depth knowledge of coding. Such editing automatically causes the transformations to be recalculated, causing a change in one of more outputs.
A specific example of a recalculation document is a spreadsheet document, which includes a grid of cells. Any given cell might include an expression that is evaluated to output a particular value that is displayed in the cell. The expression might refer to a data source, such as one or more other cells or values.